<?php	namespace Admin\Model;
use Hdphp\Model\Model;
class Cate extends Model
{
	protected $table = 'category';
	protected $validate = array(
		array('cname','require','请输入分类名称',3,3),
		array('ctitle','require','请输入分类别名',3,3),
		array('csort','num:1,665535','分类排序必须为1~665535之间的数字',3,3),
		array('is_show','require','请选择显示状态',3,3)
	);
	/**
	 * 首页数据
	 */
	public function getAll()
	{	//将获得的树状结构的数据反
		return Data::tree($this->get(),'cname');
	}
	/**
	 * 顶级分类添加
	 */
	public function addTopCate()
	{	//执行自动验证，验证不通过将错误信息返出
		if(!$this->create()) return false;
		//验证通过，执行add进行添加
		return $this->add();
	}
	/**
	 * 添加子集分类
	 */
	public function addSonCate()
	{	//重新定义自动验证规则
		$this->validate = array(
			array('cname','require','请输入分类名称',3,3),
			array('type_ID','require','请选择所属类型',3,3),
			array('csort','num:1,665535','分类排序必须为1~665535之间的数字',3,3),
			array('is_show','require','请选择显示状态',3,3)
		);
		//执行自动验证
		if(!$this->create()) return false;
		//执行添加动作
		return $this->add();
	}
	/**
	 * 编辑
	 */
	public function edit($cid)
	{	//重新定义自动验证规则
		$this->validate = array(
			array('cname','require','请输入分类名称',3,3),
			array('type_ID','require','请选择所属类型',3,3),
			array('csort','num:1,665535','分类排序必须为1~665535之间的数字',3,3),
			array('is_show','require','请选择显示状态',3,3)
		);
		//自行自动验证
		if(!$this->create()) return false;
		$data = array(
			'cname'=>$_POST['cname'],
			'pid'=>$_POST['pid'],
			'csort'=>$_POST['csort'],
			'type_ID'=>$_POST['type_ID'],
			'is_show'=>$_POST['is_show'],
		);
		//如果更新成功，返回true
		if($this->where('cid',$cid)->update($data))
		{
			return true;
		}
		
	}
	/**
	 * 获取旧数据
	 */
	public function getOldData()
	{	//获取旧数据
		return $this->where('cid',$_GET['cid'])->first();
	}
	/**
	 * 删除
	 */
	public function del()
	{	//所要删除的分类cid
		$cid = Q('get.cid',0,'intval');
		//如果该分类下边有子集分类
		if($this->where('pid',$cid)->first())
		{
			return array('code'=>0,'message'=>'请先删除该分类下的子分类');
		}
		//分类下没有子集分类，执行删除动作
		if($this->where('cid',$cid)->delete())
		{
			return array('code'=>1,'message'=>'删除成功');
		}
	}
}
